package com.blue.crawler.engine;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

import com.blue.crawler.annotation.CrawlerConfig;


/**
 * 下载文件接口
 * 
 * @author zhengj
 * @since 1.0 2017年5月29日
 */
public interface Download
{
	/**
	 * 爬虫下载目录格式
	 */
	DateTimeFormatter UPLOAD_PATTERN = DateTimeFormatter.ofPattern("/yyyy/MM/dd/");
	
	/**
	 * 下载文件
	 * 
	 * @param url 文件URL
	 * @param time 文件时间，空表示当前时间
	 * @param config 爬虫配置
	 * @return 文件模型，空表示下载失败
	 */
	FileModel download(String url, LocalDateTime time, CrawlerConfig config);
}
